package nsu.edu.zsq.service.sys;

import java.util.List;

import nsu.edu.zsq.bean.SysAcl;
import nsu.edu.zsq.bean.SysUser;
import nsu.edu.zsq.param.AclTreeParam;

/** 
* Description: 管理员账号管理的service类<br>
*/
public interface SysUserManagerService {
    
    /**
     * 获取一条管理员账号信息
     * @param sysUserId 管理员账号id
     * @return SysUser
     */
    public SysUser getSysUser(int sysUserId);
    
    /**
     * 获取管理员账号列表
     * @return List<SysUser>
     */
    public List<SysUser> listSysUser();
    
    /**
     * 保存一条管理员账号信息（有默认banUrl值）
     * @param sysUser 管理员账号信息
     */
    public void saveSysUser(SysUser sysUser);
    
    /**
     * 更新一条管理员账号信息
     * @param sysUser 管理员账号信息
     */
    public void updateSysUser(SysUser sysUser);
    
    /**
     * 更新管理员账号密码
     * @param sysUser 管理员账号信息
     */
    public void updatePassword(SysUser sysUser);
    
    /**
     * 单个/批量删除管理员账号信息
     * @param sysUserIds 管理员账号id
     */
    public void delSysUser(int[] sysUserIds);

    /**
     * 获取系统权限信息（同时根据该gua'ni）
     * @return List<SysAcl>
     */
    /**
     * 获取系统权限信息树（根据管理员的banUrl设置勾选状态）
     * @param sysUserId 管理员id
     * @return List<SysAcl>
     */
    public List<SysAcl> sysUserAclTree(int sysUserId);

    /**
     * 更新管理员账号中的受限url
     * @param addBanUrl 受限url
     * @param delBanUrl 移除的受限url
     * @param sysUserId 管理员账号id
     */
    public void updateBanUrl(String[] addBanUrl, String[] delBanUrl, int sysUserId);


}
